package reflect;


import java.lang.reflect.Constructor;
import java.util.Scanner;

/**
 * 使用Constructor创建对象
 * 当需要给实例传值时，需要使用getConstructor方法设置该实例的构造方法传参个数
 */
public class ReflectDemo4 {
    public static void main(String[] args) {

        Person person = new Person("张三",12);
        System.out.println(person);

//        Scanner scanner = new Scanner(System.in);
//        System.out.println("请输入类名：");
//        String className = scanner.nextLine();

        try {
            Class cls = Class.forName("reflect.Person");//通过报名获得类
            Constructor c = cls.getConstructor(String.class,int.class);
            Object obj = c.newInstance("王五",18);//new Person("王五",18)
            System.out.println(obj);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }


}
